package br.edu.unicentro.mymib.mbean;

import javax.faces.event.ActionEvent;

import br.edu.unicentro.mymib.base.EntityManagerService;
import br.edu.unicentro.mymib.entity.Usuario;

public class ChangePwdMBean {

	private boolean windowVisible = false;
	private String senhaAntiga;
	private String novaSenha;
	private String confirmaNovaSenha;

	public ChangePwdMBean() {

	}

	public boolean isWindowVisible() {
		return windowVisible;
	}

	public void exibirWindow(ActionEvent event) {
		this.windowVisible = true;
	}

	public void fecharWindow(ActionEvent event) {
		this.windowVisible = false;
		clear();
	}

	public void salvar(ActionEvent event) {
		Usuario u = new Usuario();
		u = Usuario.recuperarUsuarioLogado();
		if(u == null){
			u = Usuario.recuperarAdmin();
		}
		if(u != null){
			if(u.validarSenha(senhaAntiga) && novaSenha.equals(confirmaNovaSenha)){
				u.setSenha(novaSenha);
			}
			try {
				u = (Usuario) EntityManagerService.salvar(u);
				clear();
				this.windowVisible = false;
			} catch (Exception e) {
				// TODO tratar, exibir que houve erro
				e.printStackTrace();
			}
		}
		clear();

	}

	public void clear() {
		this.senhaAntiga = "";
		this.novaSenha = "";
		this.confirmaNovaSenha = "";
	}

	public String getSenhaAntiga() {
		return senhaAntiga;
	}

	public void setSenhaAntiga(String senhaAntiga) {
		this.senhaAntiga = senhaAntiga;
	}

	public String getNovaSenha() {
		return novaSenha;
	}

	public void setNovaSenha(String novaSenha) {
		this.novaSenha = novaSenha;
	}

	public String getConfirmaNovaSenha() {
		return confirmaNovaSenha;
	}

	public void setConfirmaNovaSenha(String confirmaNovaSenha) {
		this.confirmaNovaSenha = confirmaNovaSenha;
	}

}
